#include<stdio.h>

//typedef unsigned int uint;
//
//typedef struct Node
//{
//	int data;
//	struct Node* next;
//}Node;
//int main()
//{
//	unsigned int num = 0;
//	uint num2 = 0;
//	struct Node n;
//	Node n2;
//	printf("hello\n");
//	return 0;
//}

// static 
// 1. 修饰局部变量
// 2. 修饰全局变量
// 3. 修饰函数
//void test()
//{
//	// 1. static 修饰局部变量的时候，局部变量出了作用域，不销毁的。本质上，static修饰局部变量
//	// 本质上，static修饰局部变量的时候， 改变了变量的存储位置的。
//	// 影响了变量的生命周期， 生命周期变长， 和程序的生命周期一样
//	
//	// 栈区： 局部变量
//	// 堆区： 
//	// 静态区： 静态变量
// static int a = 1;
// a++;
// printf("%d ",a);
//}
//
//int main()
//{
//	int i = 0;
//	while(i < 10)
//	{
//		test();
//		i++;
//	}
//}

// define 定义标识符 常量
#define NUM 100

// #define 定义宏
// 宏是有参数

#define ADD(x,y) ((x) + (y))

int Add(int x, int y){
	return x + y;
}
int main()
{
//	printf("%d\n",NUM);
//	int n = NUM;
//	printf("%d\n",n);
//	int arr[NUM] = { 0 };
	int a = 10;
	int b = 20;
	int c = ADD(a,b);
	printf("%d\n",c);
	return 0;
}